package com.houweishi.module.adjustment.service;

import com.houweishi.common.core.domain.AjaxResult;
import com.houweishi.module.adjustment.domain.OaAdjustment;
import com.houweishi.module.adjustment.domain.OaAdjustmentApproval;

import java.util.List;

/**
 * 职位，薪资申请单Service接口
 * 
 * @author houweishi
 * @date 2023-02-21
 */
public interface IOaAdjustmentService 
{
    /**
     * 查询职位，薪资申请单
     * 
     * @param adjustmentId 职位，薪资申请单主键
     * @return 职位，薪资申请单
     */
    public OaAdjustment selectOaAdjustmentByAdjustmentId(Long adjustmentId);

    /**
     * 查询职位，薪资申请单列表
     * 
     * @param oaAdjustment 职位，薪资申请单
     * @return 职位，薪资申请单集合
     */
    public List<OaAdjustment> selectOaAdjustmentList(OaAdjustment oaAdjustment);

    /**
     * 查询职位，薪资申请单列表(含业务审批状态)
     *
     * @param oaAdjustment 职位，薪资申请单
     * @return 职位，薪资申请单集合
     */
    List<OaAdjustmentApproval> selectOaAdjustmentApprovalList(OaAdjustment oaAdjustment);

    /**
     * 新增职位，薪资申请单
     * 
     * @param oaAdjustment 职位，薪资申请单
     * @return 结果
     */
    public AjaxResult insertOaAdjustment(OaAdjustment oaAdjustment);

    /**
     * 修改职位，薪资申请单
     * 
     * @param oaAdjustment 职位，薪资申请单
     * @return 结果
     */
    public int updateOaAdjustment(OaAdjustment oaAdjustment);

    /**
     * 批量删除职位，薪资申请单
     * 
     * @param adjustmentIds 需要删除的职位，薪资申请单主键集合
     * @return 结果
     */
    public int deleteOaAdjustmentByAdjustmentIds(Long[] adjustmentIds);

    /**
     * 删除职位，薪资申请单信息
     * 
     * @param adjustmentId 职位，薪资申请单主键
     * @return 结果
     */
    public int deleteOaAdjustmentByAdjustmentId(Long adjustmentId);
}
